A Survey on Model Checking Java Programs

نویسنده

  • Sean Thompson
چکیده

Due to the recent advancements of the Internet, Java has become a dominant programming language, especially for coding concurrent applications. Finite state verification is a powerful technique for detecting subtle errors in a program. This paper reviews recent attempts to transform Java source code into a model that can be checked using verification tools. Two classes of techniques are reviewed. The first is translating Java source code into a known modeling language such as Promela. The second is building a finite state model based on the source and performing state reductions. Once state reductions are performed and the model size reduced, the resulting model can be checked for desired properties.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Model Checking Java Using Pushdown Systems

In recent years, model checking algorithms for the verification of infinite-state systems were introduced. We evaluate the possibility of using the algorithms for pushdown systems and various modal logics of [3] for verification of Java programs. It turns out that pushdown systems are particularly suitable for modeling the control flow of sequential Java programs, including exceptions (which ar...

متن کامل

Platform-Specific Restrictions on Concurrency in Model Checking of Java Programs

The main limitation of software model checking is that, due to state explosion, it does not scale to real-world multi-threaded programs. One of the reasons is that current software model checkers adhere to full semantics of programming languages, which are based on very permissive models of concurrency. Current runtime platforms for programs, however, restrict concurrency in various ways — it i...

متن کامل

Java Bytecode Veri cation Using Model Checking?

We provide an abstract interpretation for Java bytecode programs to build nite state models of these programs. We describe the bytecode constraints as CTL formulas which can be checked against the nite models by a (standard) model checker. We see a practical way to perform bytecode veri cation on a formal basis in that it could help to achieve higher security and open the door for further exten...

متن کامل

Program Instrumentation and Trace Analysis

Several attempts have been made recently to apply techniques such as model checking and theorem proving to the analysis of programs. This shall be seen as a current trend to analyze real software systems instead of just their designs. This includes our own effort to develop a model checker for Java, the Java PathFinder 1, one of the very first of its kind in 1998. However, model checking cannot...

متن کامل

Java Bytecode Veriication Using Model Checking ?

We provide an abstract interpretation for Java bytecode in order to build nite state models of bytecode programs. The bytecode constraints for assuring safety are formulated in terms of temporal logic formulae. These formulae are checked against the nite program models by a (standard) model checker. By doing so we see a practical way to perform bytecode veriication on a formal basis. This could...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999